using System;
using System.ComponentModel.DataAnnotations;

namespace SIOGDE.AccesoDatos.Entidades
{
 public partial class CategoriaUnidad
 {
     public CategoriaUnidad()
     {
         Guid = System.Guid.NewGuid().ToString();
     }
     #region foreign Keys

     public virtual int RegionUnidadId_FK {get;set;}
     private RegionUnidad RegionUnidadId_obj ;
     public virtual RegionUnidad RegionUnidad
      {
          get { return RegionUnidadId_obj; }
          set {
                RegionUnidadId_obj = value;
                if (RegionUnidadId_obj != null) RegionUnidadId_FK = RegionUnidadId_obj.Id; 
          }
      }
     #endregion
     public virtual int   Id { get; set;}

     
     [StringLength(100, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "Guid")]
     public virtual string   Guid { get; set;}

     [Required(ErrorMessage="Codigo es requerido.")]
     [StringLength(50, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "Codigo")]
     public virtual string   Codigo { get; set;}

     [Required(ErrorMessage="Nombre es requerido.")]
     [StringLength(50, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "Nombre")]
     public virtual string   Nombre { get; set;}

     [StringLength(100, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "Descripcion")]
     public virtual string   Descripcion { get; set;}

     [Required(ErrorMessage="Categoria es requerido.")]
     [StringLength(10, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "Categoria")]
     public virtual string   Categoria { get; set;}


     public string NombreCompleto
     {
         get { return Nombre + " - " + RegionUnidad.Nombre; }
     }
 }
}

